/*
 * @Author: anxia.ack anchenkai@come-future.com
 * @Date: 2025-05-08 11:06:22
 * @LastEditors: anxia.ack anchenkai@come-future.com
 * @LastEditTime: 2025-05-08 16:01:54
 * @FilePath: /free-learning/src/api/dashbord/type.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
// 定义首页卡片信息的 TypeScript 类型
export interface DashboardInfo {
  /**
   * 课程数量
   */
  courseCount: number;

  /**
   * 咨询数量（总）
   */
  counselCount: number;

  /**
   * 今天的咨询数量
   */
  todayCounselCount: number;

  /**
   * 咨询数量与昨天相比的增长量
   */
  counselGrowth: number;

  /**
   * 咨询数量与昨天相比的增长比（百分比）
   */
  counselGrowthRate: number;

  /**
   * 课程评论总数量
   */
  courseReviewCount: number;

  /**
   * 课程评论5星总数量
   */
  courseReviewGoodCount: number;

  /**
   * 课程好评率（好评数量 / 总评论数量）
   */
  courseGoodRate: number;

  /**
   * 课程平均分
   */
  courseAverageRating: number;
}

export interface CourseLikeInfo {
  likeTotal?: number;
  courseLikeList: {
    courseName: string;
    likeNum: number;
  }[];
}

// 定义每天的咨询数量数据类型
export interface DailyCounselCount {
  /**
   * 日期（格式：yyyy-MM-dd）
   */
  date: string;

  /**
   * 当天的咨询数量
   */
  counselCount: number;
}

// 定义接口返回的类型
export interface CounselCountResponse {
  /**
   * 查询结果列表
   */
  data: DailyCounselCount[];
}

// 管理员统计数据类型
export interface AdminStats {
  pendingCounselorCount: number;
  approvedCounselorCount: number;
  pendingCourseCount: number;
  approvedCourseCount: number;
  pendingCommentCount: number;
  approvedCommentCount: number;
  pendingReviewCount: number;
  approvedReviewCount: number;
}
